home *** CD-ROM | disk | FTP | other *** search
/ The Sunday Times: The Month 2004 August / The Sunday Times - The Month 2004-08.iso / pc / engine / modules / text_art.swf / scripts / frame_1 / DoAction.as
Encoding:
Text File  |  2004-07-01  |  7.5 KB  |  270 lines

  1. function loadImage(mc, node, extrapath)
  2. {
  3.    var _loc3_ = extrapath;
  4.    if(_loc3_ == null)
  5.    {
  6.       _loc3_ = "";
  7.    }
  8.    var strDefaultPath = Tardis.ASSETS_FOLDER + "images/" + Tardis.ActiveSection.id + "/";
  9.    var _loc1_ = node.firstChild.nodeValue;
  10.    var _loc2_ = node.attributes.path;
  11.    if(_loc2_ != null)
  12.    {
  13.       _loc1_ = _loc2_ + _loc1_;
  14.    }
  15.    else
  16.    {
  17.       _loc1_ = strDefaultPath + _loc3_ + _loc1_;
  18.    }
  19.    if(strPathPrefix == null)
  20.    {
  21.       strPathPrefix = "";
  22.    }
  23.    mc.loadMovie(strPathPrefix + _loc1_);
  24. }
  25. function addLink(mc)
  26. {
  27.    Links[mc.link] = mc;
  28. }
  29. function getMCfromLink(Item)
  30. {
  31.    var _loc1_ = Item;
  32.    if(Links[_loc1_] == null)
  33.    {
  34.       var _loc2_ = [];
  35.       while(_loc1_ != sideMenu.ItemHome)
  36.       {
  37.          _loc2_.unshift(_loc1_._name.split("_").pop());
  38.          _loc1_ = _loc1_._parent._parent;
  39.       }
  40.       var _loc3_ = _loc2_.join("/");
  41.       Links[_loc1_] = Links[_loc3_];
  42.    }
  43.    return Links[_loc1_];
  44. }
  45. function removeLinkListener()
  46. {
  47.    Tardis.sideMenu.EB.removeListener(this);
  48. }
  49. function init()
  50. {
  51.    build();
  52. }
  53. function build()
  54. {
  55.    var strID = Tardis.ActiveSection.id;
  56.    var _loc2_ = Tardis.Colors;
  57.    strSECTION_COLOR = _loc2_.getString(strID);
  58.    SECTION_COLOR = _loc2_.getHex(strID);
  59.    strSECTION_COLOR50 = _loc2_.getString(strID + "50");
  60.    SECTION_COLOR50 = _loc2_.getHex(strID + "50");
  61.    DEFAULT_COLOR = _loc2_.getHex("default");
  62.    DEFAULT_COLOR50 = _loc2_.getString("default50");
  63.    modWidth = nodeData.byName("dimensions").attributes.width;
  64.    txtWidth = modWidth - 20;
  65.    modHeight = nodeData.byName("dimensions").attributes.height;
  66.    loadImage(mc_img_0,nodeData.byName("image"),IMAGE_PATH);
  67.    titlevar = false;
  68.    if(nodeData.byName("title").getText() != null || nodeData.byName("title2").getText() != null || nodeData.byName("title3").getText() != null)
  69.    {
  70.       var strTitle = "<FONT COLOR=\"" + strSECTION_COLOR + "\">" + nodeData.byName("title").getText() + " </FONT>";
  71.       strTitle += "<FONT COLOR=\"" + strSECTION_COLOR50 + "\"> " + nodeData.byName("title2").getText() + " </FONT>";
  72.       strTitle += "<FONT COLOR=\"" + DEFAULT_COLOR50 + "\"> " + nodeData.byName("title3").getText() + " </FONT>";
  73.       titleFF.htmlText = strTitle;
  74.       titleFF.resize();
  75.       titleVar = true;
  76.    }
  77.    title2var = false;
  78.    var strByline = nodeData.byName("byline").getText();
  79.    if(strByline != null)
  80.    {
  81.       title2FF.htmlText = strByline;
  82.       title2FF.textColor = DEFAULT_COLOR;
  83.       title2FF.resize();
  84.       title2var = true;
  85.    }
  86.    this.attachMovie("scrollContentMC","sMC",++depth);
  87.    sMC._visible = false;
  88.    sMC.bodyFF._width = sMC.body2FF._width = txtWidth;
  89.    var ndBody = nodeData.byName("body");
  90.    if(ndBody.getText() != null)
  91.    {
  92.       sMC.bodyFF.htmlText = parseBoldTags(ndBody.getText());
  93.       sMC.bodyFF.textColor = DEFAULT_COLOR;
  94.       sMC.bodyFF.autoSize = true;
  95.       sMC.bodyFF._y = CONTENT_POS;
  96.       CONTENT_POS += sMC.bodyFF._height + 12;
  97.    }
  98.    var ndBody2 = nodeData.byName("body2");
  99.    if(ndBody2.getText() != null)
  100.    {
  101.       sMC.body2FF.htmlText = parseBoldTags(ndBody2.getText());
  102.       sMC.body2FF.textColor = DEFAULT_COLOR;
  103.       sMC.body2FF.autoSize = true;
  104.       sMC.body2FF._y = CONTENT_POS;
  105.       CONTENT_POS += sMC.body2FF._height;
  106.    }
  107.    var _loc1_ = bodyLinkMC;
  108.    var _loc3_ = nodeData.byName("bodylink");
  109.    var strLabel = _loc3_.byName("label").getText();
  110.    if(strLabel != null)
  111.    {
  112.       _loc1_.contentFF.htmlText = strLabel;
  113.       _loc1_.contentFF.textColor = SECTION_COLOR50;
  114.       _loc1_.link = _loc3_.attributes.link;
  115.       if(_loc3_.attributes.promo != null)
  116.       {
  117.          _loc1_.promolink = _loc3_.byName("link").getText();
  118.       }
  119.       else
  120.       {
  121.          _loc1_.promolink = 0;
  122.       }
  123.       _loc1_.contentFF.autoSize = true;
  124.       _loc1_.btn._width = _loc1_.contentFF._width + _loc1_.arrowMC._x - 20;
  125.       _loc1_.arrowMC._x = _loc1_.contentFF._x + _loc1_.contentFF._width + 1;
  126.    }
  127.    else
  128.    {
  129.       _loc1_._height = 0;
  130.       _loc1_._visible = false;
  131.       _loc1_.arrowMC._visible = false;
  132.    }
  133.    intervalID = setInterval(checkLoad,100);
  134.    onComplete();
  135. }
  136. function checkLoad()
  137. {
  138.    if(mc_img_0._height > 0)
  139.    {
  140.       TEXT_POS = mc_img_0._x + mc_img_0._height - 4;
  141.       if(titlevar)
  142.       {
  143.          titleFF._y = TEXT_POS;
  144.          TEXT_POS += titleFF._height - 7;
  145.       }
  146.       if(title2var)
  147.       {
  148.          title2FF._y = TEXT_POS;
  149.          TEXT_POS += title2FF._height - 9;
  150.       }
  151.       var _loc1_ = nodeData.byName("bodylink").byName("label").getText();
  152.       if(_loc1_ != null)
  153.       {
  154.          heightToTest = modHeight - TEXT_POS - bodyLinkMC._height - 4;
  155.       }
  156.       else
  157.       {
  158.          heightToTest = modHeight - TEXT_POS - 12;
  159.       }
  160.       if(sMC._height > heightToTest)
  161.       {
  162.          attachMovie("FScrollPaneSymbol","contentScroll",++depth);
  163.          attachMovie("MaskerMC","MaskerMC",++depth);
  164.          contentScroll._x = 10;
  165.          contentScroll._y = TEXT_POS;
  166.          if(_loc1_ != null)
  167.          {
  168.             contentScroll.setSize(modWidth - 10,modHeight - TEXT_POS - bodyLinkMC._height + 4);
  169.          }
  170.          else
  171.          {
  172.             contentScroll.setSize(modWidth - 10,modHeight - TEXT_POS - 12);
  173.          }
  174.          contentScroll.setHScroll(false);
  175.          contentScroll.setScrollContent(sMC);
  176.          MaskerMC._x = 6;
  177.          MaskerMC._y = TEXT_POS - MaskerMC._height + 10;
  178.          MaskerMC._width = contentScroll._width - 17;
  179.          MaskerMC._height = 5;
  180.       }
  181.       else
  182.       {
  183.          sMC._x = 8;
  184.          sMC._y = TEXT_POS;
  185.          if(sMC.txtbodyLink._y < modHeight - sMC.txtbodyLink.height - 38)
  186.          {
  187.             sMC.txtbodyLink._y = modHeight - sMC.txtbodyLink.height - 38;
  188.          }
  189.       }
  190.       _visible = true;
  191.       sMC._visible = true;
  192.       clearInterval(intervalID);
  193.    }
  194. }
  195. function txtOver(mc)
  196. {
  197.    var _loc1_ = mc;
  198.    if(_loc1_.promolink == 0)
  199.    {
  200.       Tardis.sideMenu.doOver(_loc1_.link);
  201.    }
  202.    bodyLinkMC.contentFF.textColor = SECTION_COLOR;
  203.    bodyLinkMC.arrowMC.gotoAndStop("over");
  204. }
  205. function parseBoldTags(str)
  206. {
  207.    var _loc1_ = str;
  208.    var _loc2_ = _loc1_.indexOf("<b>");
  209.    if(_loc2_ != -1)
  210.    {
  211.       var _loc3_ = _loc1_.indexOf("</b>");
  212.       var word = _loc1_.substring(_loc2_ + 3,_loc3_);
  213.       var beginning = _loc1_.substring(0,_loc2_);
  214.       var end = _loc1_.substring(_loc3_ + 4);
  215.       return beginning + "<font face=\'FranklinGotURWTDem\'>" + word + "</font>" + parseBoldTags(end);
  216.    }
  217.    return _loc1_;
  218. }
  219. function txtOut(mc)
  220. {
  221.    var _loc1_ = mc;
  222.    if(_loc1_.promolink == 0)
  223.    {
  224.       Tardis.sideMenu.doOut(_loc1_.link);
  225.    }
  226.    bodyLinkMC.contentFF.textColor = SECTION_COLOR50;
  227.    bodyLinkMC.arrowMC.gotoAndStop("off");
  228. }
  229. function txtUp(mc)
  230. {
  231.    var _loc1_ = mc;
  232.    if(_loc1_.promolink != 0)
  233.    {
  234.       Tardis.webPageOpen(_loc1_.promolink);
  235.    }
  236.    else
  237.    {
  238.       Tardis.sideMenu.doUp(_loc1_.link);
  239.    }
  240. }
  241. function doOver(num)
  242. {
  243.    if(bodyLinkMC.link == num)
  244.    {
  245.       bodyLinkMC.contentFF.textColor = SECTION_COLOR;
  246.       bodyLinkMC.arrowMC.gotoAndStop("over");
  247.    }
  248. }
  249. function doOut(num)
  250. {
  251.    if(bodyLinkMC.link == num)
  252.    {
  253.       bodyLinkMC.contentFF.textColor = SECTION_COLOR50;
  254.       bodyLinkMC.arrowMC.gotoAndStop("off");
  255.    }
  256. }
  257. Links = {};
  258. Tardis.sideMenu.EB.addListener(this);
  259. _visible = false;
  260. SCROLLBOX_INIT_POS = 55;
  261. TEXT_POS = 30;
  262. CONTENT_POS = 0;
  263. onReady();
  264. this.onUnload = function()
  265. {
  266.    clearInterval(intervalID);
  267.    removeLinkListener();
  268. };
  269. stop();
  270.